<?php

require_once("/var/www/AppResiduos2/lib/model/Constituyente.php");
require_once("/var/www/AppResiduos2/lib/dao/ConstituyenteDAO.php");
require_once("/var/www/AppResiduos2/lib/dao/ConstituyenteResiduoDAO.php");


class ConstituyenteControl{

    function nuevoConstituyente()
    {

            $cDAO = new ConstituyenteDAO();
            $c = new Constituyente();
            $c->id = $_POST['component_id'];
            $c->name = $_POST['component_name'];

            $crDAO = new ConstituyenteResiduoDAO();
            $cr = new ConstituyenteResiduo();
            $cr->idComp = $c->id;
            
            $cr->idResidue = $_POST['id_residue'];
            $cr->idproducer = $_POST['id_producer'];
            $cr->quantityComp = $_POST['component_quantity'];
            print_r($cr);
            $queryExist = $cDAO->obtenerConstituyente($c->id);
            $rowsNumber = sizeof($queryExist);

            if ($rowsNumber == 0)
            {

                    $cDAO->nuevoConstituyente($c);
                    $crDAO->nuevoConstResiduo($cr);
                    echo "El constituyente ha sido registrado. <a href='/AppResiduos2/ListarResiduos.php'> Click aqui </a> para regresar a la lista de residuos";
                    
            }
            else
                    die ("Una constituyente quimico con ese nombre ya existe! Escoja otro nombre");

    }

    function modificarConstituyente()
    {
            $cDAO = new ConstituyenteDAO();
            $c = new Constituyente();
            $c->id = $_POST['id_component']; // input hidden
            $c->name = $_POST['component_name'];

            $crDAO = new ConstituyenteResiduoDAO();
            $cr = new ConstituyenteResiduo();
            $cr->idComp = $c->id;

            $cr->idResidue = $_POST['id_residue'];
            $cr->idproducer = $_POST['id_producer'];
            $cr->quantityComp = $_POST['component_quantity'];
            print_r($cr);
            $queryExist = $cDAO->obtenerConstituyente($c->id);
            $rowsNumber = sizeof($queryExist);

            if (strcmp($c->name, "") != 0)
            {
                $cDAO->modificarConstituyente($c);
                $crDAO->modificarConstResiduo($cr);
                echo "La cantidad de constituyente en el residuo ha sido cambiada. <a href='/AppResiduos2/ListarResiduos.php'> Click aqui </a> para regresar a la lista de residuos";
            }
            else
                    die ("El nombre no puede ser una cadena vacia!");


    }

    function eliminarConstituyente()
    {
            $cDAO = new ConstituyenteDAO();
            $c = new Constituyente();
            $c->id = $_POST['id_component']; // input hidden
            $c->name = $_POST['component_name'];

            $crDAO = new ConstituyenteResiduoDAO();
            $cr = new ConstituyenteResiduo();
            $cr->idComp = $c->id;

            $cr->idResidue = $_POST['id_residue'];
            $cr->idproducer = $_POST['id_producer'];
            print_r($cr);

            $elimConst = $crDAO->eliminarConstDef($cr->idComp);

            if (strcmp($c->name, "") != 0)
            {
                $crDAO->eliminarConstResiduo($cr);
                if ($elimConst){
                    $cDAO->eliminarConstituyente($c);
                }
                echo "El residuo ha sido eliminado de la bd. <a href='/AppResiduos2/ListarResiduos.php'> Click aqui </a> para regresar a la lista de residuos";
            }
            else
                    die ("El nombre no puede ser una cadena vacia!");



    }
}

echo "<html>
        <head>
            <link rel='stylesheet' type='text/css' href='/AppResiduos2/scripts/prueba.css'/>
        </head>

        <body>
            <div class='pcpal'>";

$cc = new ConstituyenteControl();

if (strcmp($_POST['operation'],"newComponent") == 0)
{
	$cc->nuevoConstituyente();
}
elseif (strcmp($_POST['operation'],"modifyComponent") == 0)
{
	$cc->modificarConstituyente();
}
else
{
	$cc->eliminarConstituyente();
}

echo "</div>
        </body>
    </html>";

?>